Ext.define('MelhorCompra.controller.MainController', {
    extend: 'Ext.app.Controller',
    xtype: 'maincontroller',

    menuAdded: false,

    config: {
    	control: {
    		'button[action=exibirMenuLateral]' : {
    			tap: 'onExibirMenuLateral'
    		},

    		'button[action=ocultarMenuLateral]' : {
    			tap: 'onOcultarMenuLateral'
    		},

            'button[action=openHome]' : {
                tap: 'onOpenHome'
            },

    		'button[action=openMelhorProduto]' : {
    			tap: 'onOpenMelhorProduto'
    		},

    		'button[action=openCombustivel]' : {
    			tap: 'onOpenCombustivel'
    		},

    		'button[action=openRegraDe3]' : {
    			tap: 'onOpenRegraDe3'
    		},

    		'button[action=openInfo]' : {
    			tap: 'onOpenInfo'
    		},

    		'button[action=openContato]' : {
    			tap: 'onOpenContato'
    		}
    	}
    },

    onExibirMenuLateral: function(button) {
        if(this.menuAdded) {
            this.onOcultarMenuLateral(button);
        } else {
            Ext.Viewport.showMenu('left');
            this.menuAdded = true;
        }
    },

    onOcultarMenuLateral: function(button) {
    	Ext.Viewport.hideMenu('left');
        this.menuAdded = false;
    },

    onOpenHome: function(button) {
        this.onOcultarMenuLateral(button);
        Ext.Viewport.setActiveItem('home');
    },

    onOpenMelhorProduto: function(button) {
    	this.onOcultarMenuLateral(button);
    	Ext.Viewport.setActiveItem('melhorproduto');
    },

    onOpenCombustivel: function(button) {
    	this.onOcultarMenuLateral(button);
    	Ext.Viewport.setActiveItem('combustivel');
    },

    onOpenRegraDe3: function(button) {
    	this.onOcultarMenuLateral(button);
    	Ext.Viewport.setActiveItem('regrade3');
    },

    onOpenInfo: function(button) {
    	this.onOcultarMenuLateral(button);
    	Ext.Viewport.setActiveItem('infopanel');
    },

    onOpenContato: function(button) {
    	this.onOcultarMenuLateral(button);
    	Ext.Viewport.setActiveItem('contatoform');
    },

    /*Util*/
    getNumFromField: function(campoNumerico, erros, msgErro) {
        var valor = parseFloat(String(Ext.getCmp(campoNumerico).getValue()).replace(' ', '').replace(',', '.'));
        if(isNaN(valor)) {
            erros.push(msgErro);
        }
        return valor;
    },

    exibirMensagemErro: function(arrayErros) {
        var msgErro = '';
        for (var i = 0; i < arrayErros.length; i++) {
            msgErro += '<div class=\"leftText\">' + arrayErros[i] + '</div>';
        }
        Ext.Msg.alert('ERRO - MobFacil.com', msgErro);
    }
});
